#include <bits/stdc++.h>

using namespace std;
const int N=1e5+10;
int h[N],ne[N],idx,e[N],w[N],ans,ans1;
int n;
bool vis[N];
void add(int a,int b,int c){
	e[idx]=b;
	w[idx]=c;
	ne[idx]=h[a];
	h[a]=idx++;
}
void dfs(int x,int sum,int f){
	if(sum>ans1){
		ans1=sum;
		ans=x;
	}
	for(int i=h[x];~i;i=ne[i]){
		int j=e[i];
	   // if(!vis[j]){
	   
		//	vis[j]=true;
		if(j==f)continue;
			dfs(j,sum+w[i],x);
		//	vis[j]=false;
		//}
	}
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	memset(h,-1,sizeof h);
	cin>>n;
	n-=1;
	while(n--){
		int b,c,d;
	    cin>>b>>c>>d;
	    add(b,c,d),add(c,b,d);
	}
    dfs(1,0,-1);
   // cout<<ans;
    memset(vis,0,sizeof vis);
    ans1=0;
    dfs(ans,0,-1);
    cout<<ans1;
}
